//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this sample source code is subject to the terms of the Microsoft
// license agreement under which you licensed this sample source code. If
// you did not accept the terms of the license agreement, you are not
// authorized to use this sample source code. For the terms of the license,
// please see the license agreement between you and Microsoft or, if applicable,
// see the LICENSE.RTF on your install media or the root of your tools installation.
// THE SAMPLE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES OR INDEMNITIES.
//
//////////////////////////////////////////
// ToolBoxDebug - Debugging assistance  //
//////////////////////////////////////////


#ifdef TBD_DEBUG

#include <windows.h>
#include <tchar.h>
#include "ToolBoxDebugSettings.h"

// REQUIRED strings for TBD_CLASS_TYPEs
const TCHAR* psClassTypeNames[] = { TEXT("TBDCT_NULL"), TEXT("TBDCT_ALL"), TEXT("TBDCT_ALL_FUNCTIONS"), 
                                    TEXT("TBDCT_ALL_MEMORY"), TEXT("TBDCT_INFO"), TEXT("TBDCT_READ"), 0 };

// REQUIRED TBD_CLASS_TYPEs
const TBD_CLASS_TYPE TBDC_NULL[] = { TBDCT_NULL };
const TBD_CLASS_TYPE TBDC_ALL[] = { TBDCT_ALL, TBDCT_NULL };
const TBD_CLASS_TYPE TBDC_ALL_FUNCTIONS[] = { TBDCT_ALL_FUNCTIONS, TBDCT_ALL, TBDCT_NULL };
const TBD_CLASS_TYPE TBDC_ALL_MEMORY[] = { TBDCT_ALL_MEMORY, TBDCT_ALL, TBDCT_NULL };

// Custom TBD_CLASS_TYPEs
const TBD_CLASS_TYPE TBDC_INFO[] = { TBDCT_INFO, TBDCT_ALL, TBDCT_NULL };
const TBD_CLASS_TYPE TBDC_READ[] = { TBDCT_READ, TBDCT_ALL, TBDCT_NULL };

// TBD_CLASS_TYPE hierarchy
// NOTE: Order must match the TBD_CLASS_TYPE enum in ToolBoxDebugSettings.h
const TBD_CLASS_TYPE* tbdcHierarchy[] = { TBDC_NULL,              // REQUIRED
                                          TBDC_ALL,               // REQUIRED
                                          TBDC_ALL_FUNCTIONS,     // REQUIRED
                                          TBDC_ALL_MEMORY,        // REQUIRED
                                          TBDC_INFO,
                                          TBDC_READ,
                                          0 };                    // REQUIRED

#endif // TBD_DEBUG
